/**
 * 检查输入字符串是否为空。如果不为空，返回false;如果为空，则返回true
 * @param {String} input
 */
var Util = {
	isNull : function(input) {
	    if (input == null || input.replace(/ /gi,"") == "") {
	        return true;
	    }
	    return false;
	},
	trim : function(input){
		return input?input.replace(/(^\s*)|(\s*$)/g, ""): ""; 
	},
	getLengthNumber : function(aLength){
		if (!isNaN(aLength)) {
			return Number(aLength);
		}
		if (typeof(aLength) == "string") {
			aLength = aLength.replace(/px?$/gi, "");
			if (isNaN(aLength)) 
				throw new Error(sGmsg["ELE_002"]);

			return Number(aLength);
		}
		return 0;
	},
	removeChild : function(elParent){
		var elements = elParent.childNodes;

		for(var i=0; i<elements.length; i++){
			elParent.removeChild(elements[i]);
		}

	},
	/**
	 * 为节点附加一个子节点，并制定部分属性
	 *
	 * @author lnc
	 *
	 * @param _Parent 需要添加子节点的节点。可为node对象或者对象的id
	 * @param _Child 子节点的tagName。如，table, tr...
	 * @param sDatatype 需要为节点附加的属性
	 * @param sData 属性的值
	 * @return 子节点对象
	 */
	 gfn_addChild : function(_Parent, _Child, sDatatype, sData){
		var oParent, oChild;
	
//		alert("22");
		if(typeof _Parent == "undefined" || _Parent == null 
		    || typeof _Child == "undefined" || _Child == null) return;
		if(typeof _Parent == "string"){
			oParent = document.getElementById(_Parent);
		}else{
			oParent = _Parent;
		}
		if(typeof _Child == "string"){
			oChild = document.createElement(_Child);
		}else{
			oChild = _Child;
		}
		for(var i=2; i<arguments.length; i+=2){
			var sDataType, sData;
			try{
				sDataType = arguments[i].toLowerCase();
				sData = arguments[i+1];
			}catch(e){
				throw new Error("");
				return;
			}
			try{
				switch(sDataType){
					case "id"     : oChild.id = sData; break;
					case "name"   : oChild.name = sData; break;
					case "value"  : oChild.value = sData; break;
					case "text"   : oChild.appendChild(document.createTextNode(sData)); break;
					case "type"   : oChild.type = sData; break;
					default  : oChild.style[sDataType] = sData; break;
				}
			}catch(e){
				continue;
			}
		}
		oParent.appendChild(oChild);
		return oChild;
	},
	/**
	 *  动态创建commbo
	 *
	 * @author lnc
	 *
	 *  @param _parent commbo的父节点,可以是父节点id，也可以是父节点对象
	 *  @param as_Id commbo 的 id
	 *  @param ol_Data 数据对象列表 可为List<object>、map<string,string>、Json形式。
	 *                 当ol_Data为map或Json形式，则不需要指定后面两个属性
	 *  @param as_KeyName key名字，字符串类型
	 *  @param as_ValueName 用于在列表中显示的属性的名字，字符串类型
	 *  @return commbo对象
	 */
	gfn_makeCommob : function(_parent, oL_Data, as_KeyName, as_ValueName, as_AllText){
		var o_Select = Util.gfn_addChild(_parent, "select");
		if(o_Select == null) return;
		if(oL_Data == null) return;
		if(as_AllText != null) Util.gfn_addChild(o_Select, "option", "value", "", "text", as_AllText);
		
		if(as_KeyName == null){
			for(var key in oL_Data){
//				alert("22");
				Util.gfn_addChild(o_Select, "option", "value", key, "text", oL_Data[key]);			
			}
			return o_Select
		}else if(typeof(as_KeyName) == "string" && typeof(as_ValueName) == "string"){
	//alert("go_CommonCodeCombo-->"+oL_Data);
			for(var i=0; i<oL_Data.length; i++){
				var o_Data = oL_Data[i];
				Util.gfn_addChild(o_Select, "option", "value", o_Data[as_KeyName], "text", o_Data[as_ValueName]);
			}
			
			return o_Select;
		} 
		
		return;
	}
}